/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ControleAcademico.Model.Dao;

import ControleAcademico.Model.Pojo.HistoricoDisciplinas;
import java.io.IOException;
import java.util.ArrayList;

/**
 *
 * @author arthur
 * @author renan
 * @author tais
 * @author vinicius
 */
public class HistoricoDisciplinasImp implements HistoricoDisciplinasInt {
  
    
    // Atributos
    private ArrayList<HistoricoDisciplinas> listaHistoricoDisciplinas;   
    
    
    @Override
    public void adicionar (HistoricoDisciplinas historicoDisciplinas) throws IOException{
        
        if(!(this.listaHistoricoDisciplinas.contains(historicoDisciplinas))){
            this.listaHistoricoDisciplinas.add(historicoDisciplinas);
        }
        else {
            throw new IOException();
        }
        
    }
    
    
    @Override
    public void remover (HistoricoDisciplinas historicoDisciplinas){
        this.listaHistoricoDisciplinas.remove(historicoDisciplinas);
    }
    
    
    @Override
    public ArrayList<HistoricoDisciplinas> obterLista() {
        
        ArrayList<HistoricoDisciplinas> copiaLista = new ArrayList<HistoricoDisciplinas>();
        
        int index = 0;
        for(HistoricoDisciplinas a: this.listaHistoricoDisciplinas){
            copiaLista.add(this.listaHistoricoDisciplinas.get(index));
            index++;
        }
        return copiaLista;
    }
    
    
    @Override
    public HistoricoDisciplinas buscar (int id) throws IOException{
        
        int index = 0;
        boolean encontrou = false;
        for(HistoricoDisciplinas d : listaHistoricoDisciplinas) {
            if(d.getId() - id == 0) {
                encontrou = true;
                break;
            }
            index++;
        }
        if (encontrou == true) {
            return listaHistoricoDisciplinas.get(index);
        } else {
            throw new IOException();
        }
    }
}
